<?php 
namespace Api\Controller;
use Think\Controller;
class BaseController extends Controller{
	
	/**
	 * Api默认执行方法，用于对Api进行统一管理
	 */
	function _initialize() {
		/*
		if(count(explode('/docs',strtolower($_SERVER['REQUEST_URI']))) < 2){
			//接口调用安全机制
			$auth = D('ApiAuth');
			if(!$_GET['token']){
				_apiReturn(0, 'token不能为空', $data, $url);
			}else{
				$auth = D('ApiAuth')->where(array('token'=>$_GET['token']))->order('update_time desc')->find();
				if($auth){
					$ips = explode('|',$auth['whitelist']); //默认都可以访问
					if(count($ips) > 0){
						$ip=false;
						if(!empty($_SERVER["HTTP_CLIENT_IP"])){
							$ip = $_SERVER["HTTP_CLIENT_IP"];
						}
						if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
							$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
							if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
							for ($i = 0; $i < count($ips); $i++) {
								if (!eregi ("^(10|172\.16|192\.168)\.", $ips[$i])) {
									$ip = $ips[$i];
									break;
								}
							}
						}
						$ip = ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
						if(!in_array($ip,$ips)){
							_apiReturn(0, '您的接口请求IP不在该Token白名单', $data, $url);
						}
					}
					
				}else{
					_apiReturn(0, 'token参数不匹配', $data, $url);
				}
					
			}
		}
		*/
		
	}
	
	/**
	 * 输出json，作为api接口的统一返回
	 */
	public function _apiReturn($status,$info,$data,$url){
		$this->ajaxReturn(ajax_data_tpl($status,$info,$data,$url));
		//echo json_encode(ajax_data_tpl($status,$info,$data)); //支持中文json编码返回
		die(); //阻断程序继续执行,确保json只打印一次
	}

}
?>